The present invention relates to high availability systems, and more particularly, to systems and methods for configuring, synchronizing, and upgrading high availability units in an efficient manner.
The growth and proliferation of computers and computer networks allow businesses to efficiently communicate with their own components as well as with their business partners, customers, and suppliers. However, the flexibility and efficiencies provided by such computers and computer networks come with increasing risks, including security breaches from outside the corporation, accidental release of vital information from within it, and inappropriate use of the LAN, WAN, Internet, or extranet.
In managing the growth of computer networks as well as addressing the various security issues, network managers often turn to network policy management services such as firewall protection, Network Address Translation, spam email filtering, DNS caching, Web caching, virtual private network (VPN) organization and security, and URL blocking for keeping network users from accessing certain Web sites through use of the organization""s ISP. Each policy management service, however, generally requires a separate device that needs to be configured, managed, and monitored. Furthermore, as an organization grows and spreads across multiple locations, the devices maintained also multiply, multiplying the associated expenditures and efforts to configure, manage, and monitor the devices.
Accordingly, there remains a need in the art for a unified policy management system where various policies may be defined and managed from a single location. For such a unified policy management system to be effective, the various components of the system should be reliable and fail proof. However, these components often fail and become unreliable in many instances for various reasons. For example, there may be failures due to the main CPU (central processing unit) board, the NICs (network interface cards), and power supplies. Thus, it is desirable to have a duplicate instances(or high-availability) of mission-critical units configured in the system to prevent a single point of failure.
The present invention is directed to a high-availability system including a first edge device managing policies for a first network and a second edge device managing policies for a second network. The first and second edge devices act as policy enforcers for their respective networks.
The system further includes a central policy server in communication with the first and second edge devices. The central policy server is configured to manage the first and second edge devices from a single location.
According to one embodiment of the invention, the central policy server and the first and second edge devices include first class units (primary units) and second class units (backup units). The second class units provide backup for the corresponding first class units upon failure of the first class units.
In one particular aspect of the invention, each high-availability device discovers its status as a primary unit, a backup unit, or a stand-alone unit (third class unit) during initialization.
In another aspect of the invention, the configuration information of the primary and backup units are synchronized by transitioning the first class unit to an active state, receiving and storing the first database configuration changes on the first class unit, transferring the configuration changes to the second class unit, and storing the configuration changes on the second class unit. When the primary unit transitions to an inactive state, the backup unit stores the second database configuration changes on the second class unit and transfers those changes to the primary unit after it re-transitions to the active state.
In yet another aspect of the invention, updates to the primary and backup units, such as software updates, are also synchronized, transmitting the update information to the primary unit, updating the primary unit, transmitting the update from the primary unit to the backup unit, and updating the backup unit. Thus, the network administrator need not duplicate his or her efforts to update the backup units.